<?php
/**
 * Controller de Menus.
 *
 *
 * @filesource          
 * @copyright		
 * @link		http://www.pragmatia.com Pragmatia
 * @package		datagro
 * @subpackage	app.controllers
 * @version     1.1
 * @license		http://www.opensource.org/licenses/mit-license.php The MIT License
 * @author      Martin Radosta <mradosta@pragmatia.com>
 */


/**
 * Clase MenusController
 *
 * @package	    datagro
 * @subpackage	app.controllers
 */

class  MenusController extends AppController
{
    var $name = 'Menus';
	var $uses = array("Menu", "Dominio");


/**
 * Index.
 *
 */
    function index()
    {
		if(!empty($this->data))
		{
			$condicion = $this->Filtro->generarCondicion($this->data['Filtro']);
			$this->paginate['conditions'] = $condicion;
		}
		$this->paginate['order'] = "Menu.orden";
		$this->set('registros', $this->paginate());
    }


/**
 * View.
 *
 */
   function view($id = false) 
   {
        if ($id && is_numeric($id))
        {
            $this->data = $this->Menu->read(null, $id);
        }    
   }  


/**
 * Add.
 *
 */
   function add() 
   {
		if(!empty($this->data) && isset($this->data['Menu']['accion']) && ($this->data['Menu']['accion'] == "grabar" || $this->data['Menu']['accion'] == "cancelar")) {
			if ($this->data['Menu']['accion'] == "grabar") {
				if($this->Menu->create($this->data) && $this->Menu->validates()) {
					if($this->Menu->save($this->data))
						$this->Session->setFlash('El menu se agrego correctamente.', 'ok');
					else
						$this->Session->setFlash('No fue posible agregar el nuevo menu.', 'error');	

					$this->redirect("index", null, true);
				}
				else {
					$this->set('estados_seguridad', $this->Dominio->generateList(array("nombre"=>"estados_seguridad"), null, null, null, "{n}.Dominio.valor"));
				}
			}
			elseif ($this->data['Menu']['accion'] == "cancelar") {
				$this->redirect("index", null, true);
			}
		}
		else {
			$this->set('estados_seguridad', $this->Dominio->generateList(array("nombre"=>"estados_seguridad"), null, null, null, "{n}.Dominio.valor"));
		}
   }    

/**
 * Edit.
 *
 */
   function edit($id) 
   {
		if(!empty($this->data) && isset($this->data['Menu']['accion']) && ($this->data['Menu']['accion'] == "grabar" || $this->data['Menu']['accion'] == "cancelar")) {
			if ($this->data['Menu']['accion'] == "grabar") {
				if($this->Menu->create($this->data) && $this->Menu->validates()) {
					if($this->Menu->save($this->data))
						$this->Session->setFlash('El menu se actualizo correctamente.', 'ok');
					else
						$this->Session->setFlash('No fue posible actualizar el menu.', 'error');	

					$this->redirect("index", null, true);
				}
				else {
					$this->set('estados_seguridad', $this->Dominio->generateList(array("nombre"=>"estados_seguridad"), null, null, null, "{n}.Dominio.valor"));					
					$this->render('add');
				}
			}
			elseif ($this->data['Menu']['accion'] == "cancelar") {
				$this->redirect("index", null, true);
			}
		}
		else {
			$this->data = $this->Menu->read(null, $id);
			$this->set('estados_seguridad', $this->Dominio->generateList(array("nombre"=>"estados_seguridad"), null, null, null, "{n}.Dominio.valor"));	
			$this->render('add');
		}
   }    

/**
 * Delete.
 *
 */
   function delete($id = false) 
   {
        if ($id && is_numeric($id))
        {
			if ($this->Menu->delete($id))
			{
				$this->Session->setFlash('El menu se borro correctamente.', 'ok');	
			}
			else
			{
				$this->Session->setFlash('No fue posible borrar el menu.', 'error');	
			}
        }    
		$this->redirect('index', null, true);
   }  

}
?>